local config = { monster = {"Boss"}, -- nome dos monstros, separados por vírgulas. items = { {itemID = 9693, chance = 10}, -- item [1] -- 10% de chance {itemID = 9971, chance = 5}, -- item [2] -- 5% de chance -- Adicione o resto dos itens aqui }, effect = 27, -- efeito ao matar o monstro. } function onKill(cid, target) if isInArray(config.monster, getCreatureName(target)) then local player = Player(cid) if player then local droppedItem = false for _, itemData in ipairs(config.items) do if math.random(100) <= itemData.chance then player:addItem(itemData.itemID, 1) droppedItem = true break -- Se um item cair, saia do loop. end end if droppedItem then doBroadcastMessage("O Boss morreu e você obteve um item!", MESSAGE_STATUS_WARNING) else doBroadcastMessage("O Boss morreu, mas você não obteve nenhum item.", MESSAGE_STATUS_WARNING) end doSendMagicEffect(getThingPos(cid), config.effect) end end return true end
(Não esqueça de adicionar os outros itens)
Neste código, reorganizei a estrutura de configuração para incluir uma tabela chamada items, onde cada item tem um itemID e uma chance em porcentagem de ser dropado. O loop for verifica cada item na tabela items e, com base na chance, decide se o item deve ser dado ao jogador. Se um item é concedido, o loop é interrompido para garantir que o jogador receba apenas um item, mesmo que vários itens na lista tenham uma chance de drop.




info
Grupo: Campones
Registrado: 03/05/21
Posts: 33
Reputação: +1
Gênero: Masculino
Ola galera, tudo bom ?
Gostaria de um suporte de voces, para complementar umas coisas nesse script. Esse script cunfiona de tal forma. quem mata o boss ganha 5 items, porem eu quero a tal modificaçao.
como voce pode ve no script ganha 5 items quando mata o monstro. Eu queria q so ganhasse 1 item, e que tivesse a chance de ganhar em %, tipo ... item [1] -- 10% do player ganhar. item [2] -- 5% do player ganhar. Nessa base e lembrando q so ganharaia 1 item. Alguem poderia da essa força pf ! ><
Editado Novembro 3 por 880123